package com.ruoyi.sso.service;

import com.ruoyi.sso.domain.SsoWxUser;

import java.util.List;
import java.util.Map;

/**
 * sso微信用户Service接口
 * 
 * @author zsj
 * @date 2020-01-07
 */
public interface ISsoWxUserService 
{
    /**
     * 查询sso微信用户
     * 
     * @param wxUserId sso微信用户ID
     * @return sso微信用户
     */
    public SsoWxUser selectSsoWxUserById(Long wxUserId);

    /**
     * 查询sso微信用户列表
     * 
     * @param ssoWxUser sso微信用户
     * @return sso微信用户集合
     */
    public List<SsoWxUser> selectSsoWxUserList(SsoWxUser ssoWxUser);

    /**
     * 新增sso微信用户
     * 
     * @param ssoWxUser sso微信用户
     * @return 结果
     */
    public int insertSsoWxUser(SsoWxUser ssoWxUser);

    /**
     * 修改sso微信用户
     * 
     * @param ssoWxUser sso微信用户
     * @return 结果
     */
    public int updateSsoWxUser(SsoWxUser ssoWxUser);

    /**
     * 批量删除sso微信用户
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteSsoWxUserByIds(String ids);

    /**
     * 删除sso微信用户信息
     * 
     * @param wxUserId sso微信用户ID
     * @return 结果
     */
    public int deleteSsoWxUserById(Long wxUserId);

	/**
	 * 根据微信id搜索用户
	 * 
	 * @param string
	 * @return
	 */
	public SsoWxUser queryByOpenId(String openId);

	/**
	 * 绑定信息
	 * @param phone 手机号码
	 * @param cardnum 身份证后6位
	 * @param ids 物业id
	 * @param token 用户token
	 * @param role 角色0业主1物管
	 */
	public Map<String, Object> binding(String phone, String cardnum, String ids, String token, String role);

	/**
	 * 判断是否已经绑定
	 * 
	 * @param token
	 * @return
	 */
	public boolean isBinding(Long userId, String ids);

	/**
	 * 删除绑定urlId
	 * @param userInfo
	 * @param host
	 */
	public void deleteWyUrl(String userInfo, String host,String ids);

	/**
	 * 解除绑定
	 * @param userId
	 * @return
	 */
    public Map<String, Object> unbundle(Long userId);
}
